﻿<?xml version="1.0" encoding="utf-8" ?>
<!--

TELEPORT CONFIGURATION FILE

This file contains one or more configurations to setup Teleport system at client-side

-->
<Configurations>

  <!--Configuration for Loopback connector. Server and client are on the same domain-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Loopback</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.Loopback.LoopbackConnector</Connector>

    <!--Optional parameters specific to this connector-->
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.dll</ContainerFile>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Remoting connector, using Tcp channel-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Remoting - TCP</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.Remoting.ClientConnector</Connector>
    <!--Type of channel. Possible values: Tcp, Http, Icp-->
    <ChannelType>Tcp</ChannelType>
    <!--Machine name or IP address of the server-->
    <Server>localhost</Server>
    <!--The port number that the server is listening on-->
    <Port>8081</Port>

    <!--Optional parameters specific to this connector-->
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Teleporting.Connectors.Remoting.dll</ContainerFile>
    <!--[Optional] Uri of the published object-->
    <Uri>TeleportService</Uri>
    <!--[Optional] Type of message envelope. Possible values: Binary, Soap-->
    <Formatter>Binary</Formatter>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Remoting connector, using Tcp channel-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Remoting - HTTP</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.Remoting.ClientConnector</Connector>
    <!--Type of channel. Possible values: Tcp, Http, Icp-->
    <ChannelType>Http</ChannelType>
    <!--Machine name or IP address of the server-->
    <Server>localhost</Server>
    <!--The port number that the server is listening on-->
    <Port>8081</Port>

    <!--Optional parameters specific to this connector-->
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Teleporting.Connectors.Remoting.dll</ContainerFile>
    <!--[Optional] Uri of the published object-->
    <Uri>TeleportService</Uri>
    <!--[Optional] Type of message envelope. Possible values: Binary, Soap-->
    <Formatter>Binary</Formatter>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Remoting connector, using IPC channel-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Remoting - IPC</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.Remoting.ClientConnector</Connector>
    <!--Type of channel. Possible values: Tcp, Http, Icp-->
    <ChannelType>Ipc</ChannelType>

    <!--Optional parameters specific to this connector-->
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Teleporting.Connectors.Remoting.dll</ContainerFile>    
    <!--[Optional] Name of the IPC channel-->
    <ChannelName>TeleportChannel</ChannelName>
    <!--[Optional] Type of message envelope. Possible values: Binary, Soap-->
    <Formatter>Binary</Formatter>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Web Request (HttpHandler) connector-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Web Request (HttpHandler)</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.WebRequest.ClientConnector</Connector>
    <!--Full URL address to the website. Proper format: http://{domain}:{port}/{filename} -->
    <Url>http://localhost:27395/WebRequest_Server/Teleport.tp</Url>

    <!--Optional parameters specific to this connector-->
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Teleporting.Connectors.WebRequest.dll</ContainerFile>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Secured Web Request (Https) connector-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Secured Web Request (Https)</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.WebRequest.ClientConnector</Connector>
    <!--Full URL address to the website. Proper format: http://{domain}:{port}/{filename} -->
    <Url>https://localhost/Teleport.tp</Url>    

    <!--Optional parameters specific to this connector-->
    <!--Method of validation for SSL certificates. Possible values: Default, AcceptAll, Custom-->
    <SslValidation>AcceptAll</SslValidation>
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Teleporting.Connectors.WebRequest.dll</ContainerFile>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Web Service connector-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>WebService</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.WebService.WebServiceConnector</Connector>
    <!--Full URL address to the website. Proper format: http://{domain}:{port}/{filename} -->
    <Url>http://localhost:31808/TeleportService/TeleportService.asmx</Url>

    <!--Optional parameters specific to this connector-->
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Teleporting.Connectors.WebService.dll</ContainerFile>
    <!--[Optional] Name of the teleporting method on web service-->
    <Method>TeleportRequest</Method>
    <!--[Optional] Xml namespace of the webservice (not the class namespace)-->
    <Namespace>http://tempuri.org/</Namespace>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Manual Web Service connector-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Manual WebService</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Demo.Connectors.WebService.WebServiceConnector</Connector>
    <!--Full URL address to the website. Proper format: http://{domain}:{port}/{filename} -->
    <Url>http://localhost:57906/TeleportService/TeleportService.asmx</Url>

    <!--Optional parameters specific to this connector-->
    <!--[Optional] Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Demo.Connectors.WebService.dll</ContainerFile>
    <!--[Optional] Name of the teleporting method on web service-->
    <WebMethod>TeleportRequest</WebMethod>
    <!--[Optional] Xml namespace of the webservice (not the class namespace)-->
    <Namespace>http://tempuri.org/</Namespace>
    <!--Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>

  <!--Configuration for Secured Web Service connector-->
  <Teleport>
    <!--Required parameters-->
    <!--Configuration Section Name-->
    <Name>Secure Webservice</Name>
    <!--Name of the class type that will be use as the connector-->
    <Connector>Thn.Communication.Teleporting.Connectors.WebService.WebServiceConnector</Connector>
    <!--Full URL address to the website. Proper format: http://{domain}:{port}/{filename} -->
    <Url>https://localhost/TeleportService/TeleportService.asmx</Url>
    <SSLEnabled>true</SSLEnabled>
    <!--NOTE: REFACTOR !!!!!!. HTTPS already implies SSL.-->

    <!--Optional parameters specific to this connector-->
    <!--Name of the .dll file which contains the class-->
    <ContainerFile>Thn.Communication.Teleporting.Connectors.WebService.dll</ContainerFile>
    <!--[Optional] Name of the teleporting method on web service-->
    <Method>TeleportRequest</Method>
    <!--[Optional] Xml namespace of the webservice (not the class namespace)-->
    <Namespace>http://tempuri.org/</Namespace>
    <!--
      [Optional] The way to validate certificate of SSL server:
      + Default: allow only valid SSL's certificate only.
      + TrustAll: allow all SSL's certificate.
    -->
    <SSLCertificate>TrustAll</SSLCertificate>
    <!--[Optional] Whether request shall be written to logs. This should be enabled only for debugging purpose-->
    <Trace>True</Trace>
  </Teleport>
</Configurations>